const { invoke } = window.__TAURI__.core;

let _mainGrid = "userGrid";
let _mainQueryForm = "userQueryForm";
let _mainOptForm = "userOptForm";
let _mainDialog= "userOptWin";
let _importWin = "userImportWin";
let _importForm = "userImportForm";



let _optype ="";
$(function(){
    userGridInit();
    initEnterEvent();
});
function initEnterEvent(){
    $("#"+_mainQueryForm).keydown(function(e){
        if(e.keyCode==13){
            searchForm();
        }
    });
}
function userGridInit(){
    $("#userGrid").datagrid({
      loader:function(param,success,error){
          let p = $("#"+_mainQueryForm).serializeJson()
          invoke("query_user_page", {"page":param.page,"rows":param.rows,"user":{"user_name":p.user_name,"phone":p.phone}}).then((value) => {
            success({'rows':value.rows,'total':value.total});
          }) .catch((er) => {
             error()
            // Promise 失败（rejected）时，这里的代码将被执行
            $.messager.alert('提示', er);     
          });

         
      },
    title:'',
    width:'auto',
    collapsed:false,
    fit:true,
    striped: false,
    collapsible:false,
    fitColumns:false,
    loadMsg:'数据装载中......',
    singleSelect: true, //true不允许选择多行
    pageSize:10, //页容量，必须和pageList对应起来，否则会报错
    pageList:[10,50,100],//分页中下拉选项的数值
    pagination:true, //是否显式分页
    rownumbers:true //是否加行号 ,
    });
}
function searchForm(){
    $("#"+_mainGrid).datagrid("load",$("#"+_mainQueryForm).serializeJson());
}
function resetSearchForm(){
    $("#"+_mainQueryForm).form("reset");
}

function userAddWinOpen(){
    _optype = "ADD";
    $("#"+_mainOptForm).form("clear");
    $("#"+_mainDialog).dialog("open");
}
function userAdd(){
    let data = $("#" + _mainOptForm).serializeJson();
   
    if($("#" + _mainOptForm).form('validate')){
        $.messager.confirm("操作提示", "确定要保存吗？", function (yes) {
            if(yes) {
                $.messager.progress();
                invoke("add_user", {"user":data}).then((value) => {
                  if(value){
                    $.messager.progress('close');
                    $("#"+_mainGrid).datagrid("reload");
                    $("#"+_mainDialog).dialog("close");
                  }
                 
                })
                .catch((error) => {
                  // Promise 失败（rejected）时，这里的代码将被执行
                  $.messager.progress("close");
                  $.messager.alert('提示', error);
                });
              
            }
        });
    }else{
        $.messager.alert('提示', "校验失败，请检查必填项！");
    }

}
function userEditWinOpen(){
    _optype = "UPDATE";
    var row = $("#"+_mainGrid).datagrid("getSelected");
    if(row){
        $("#"+_mainOptForm).form("load",row);
        $("#"+_mainDialog).dialog("open");
    }else{
        $.messager.alert("提示","请选择要修改的数据！");
        return;
    }
    $("#"+_mainOptForm).form("clear");
    $("#"+_mainDialog).dialog("open");
}
function userDel(){
    var rows = $("#"+_mainGrid).datagrid("getSelections");
    $.messager.confirm("操作提示", "确定要删除吗？", function (yes) {
        if(yes) {
            $.messager.progress();
            $.ajax({
                url: _delUrl,
                type:"get",
                data:data,
                dataType:"jsonp",
                success: function (data) {
                    $.messager.progress("close");
                    if(use==data.users){
                        $("#"+_mainGrid).datagrid("reload");
                        $("#"+_mainDialog).dialog("close");
                    }else{
                        $.messager.alert('提示', data.message);
                    }
                },
                error: function (xhr) {
                    $.messager.alert('提示', "操作失败！");
                    $.messager.progress("close");
                }
            })
        }
    });
}
function userImportWinOpen(){
    $("#"+_importForm).form("reset");
    $("#"+_importWin).dialog("open");
}
function userImport(){
    var formData = new FormData($("#"+_importForm)[0]);
    $.ajax({
        url: "_importUrl",
        type:"post",
        data:formData,
        dataType:"jsonp",
        processData:false,
        contentType:false,
        success: function (data) {
            if(use==data.users){
                $("#"+_mainGrid).datagrid("reload");
                $("#"+_importForm).dialog("close");
            }else{
                $.messager.alert('提示',data.message);
            }
        }
    })
}
function userExport(){
    //TODO
}
